#如果函数收到的是一个可变对象（比如字典或者列表）的引用，
# 就能修改对象的原始值——相当于通过“传引用”来传递对象。
# 如果函数收到的是一个不可变对象（比如数字、字符或者元组）的引用，
# 就不能直接修改原始对象——相当于通过“传值’来传递对象。


#!/usr/bin/python3
# -*- coding: UTF-8 -*-
def changeme(mylist):
    "修改传入的列表"
    mylist.append([1, 2, 3, 4])
    print("函数内取值：", mylist)
    return
mylist = [10, 20, 30]
changeme(mylist)
print(mylist)



#不可变对象
def changeFixed(age):
    age+=5
    print("不可变对象修改值：",age)
age = 10;
changeFixed(age)
print(age)

# 有时候并不想通过函数修改原列表，可以copy一份函数
tmp = mylist[:]  #将原列表复制一份，地址将不再是相同的
changeme(tmp)
print("函数外的值：",mylist)


print("--------------空函数------------------")
def nop():
    pass

